PATH![]() |
![]() ![]() |
Disposes of the drag reference when the user completes the drag of a proxy icon.
pascal OSStatus EndWindowProxyDrag (
WindowPtr window,
DragReference theDrag);
Typically, if the proxy icon represents a type of object (currently, file system entities such as files, folders, and volumes) supported by the Window Manager, the Window Manager can handle all aspects of the drag process itself, and your application should call the function TrackWindowProxyDrag . However, if the proxy icon represents a type of data that the Window Manager does not support, or if you wish to implement custom dragging behavior, your application should call the function TrackWindowProxyFromExistingDrag .
The TrackWindowProxyFromExistingDrag function accepts an existing drag reference and adds file data if the window contains a file proxy. If your application uses TrackWindowProxyFromExistingDrag , you then have the choice of using this function in conjunction with the functions BeginWindowProxyDrag and EndWindowProxyDrag or simply calling TrackWindowProxyFromExistingDrag and handling all aspects of creating and disposing of the drag yourself.
Specifically, your application can call BeginWindowProxyDrag to set up the drag image and drag reference. Your application must then track the drag, using TrackWindowProxyFromExistingDrag , and do any required moving of data and, finally, call EndWindowProxyDrag to dispose of the drag reference and its associated image data. The EndWindowProxyDrag function does not dispose of the region created for use by BeginWindowProxyDrag , however, so this remains the application's responsibility to dispose. The EndWindowProxyDrag function should not be used for types handled by the Window Manager unless the application wishes to implement custom dragging behavior for those types.
See Supporting Window Proxy Icons for examples of how your application can provide proxy icon support in its document windows.